package br.com.webprojeto.colecoes;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import br.com.webprojeto.basicas.*;
import br.com.webprojeto.interfaces.*;

public class ColecaoFuncionario implements InterfaceColecaoFuncionario {

	
	public void adicionarFuncionario(Funcionario Fu) {
		Session sessao = HibernateUtil.getSessionFactory().openSession();
		sessao.beginTransaction();
		sessao.saveOrUpdate(Fu);
		sessao.getTransaction().commit(); 
	}
	
	public void removerFuncionario(Funcionario Fu) {
		Session sessao = HibernateUtil.getSessionFactory().openSession();
		sessao.beginTransaction();
		sessao.delete(Fu);
		sessao.getTransaction().commit();
	}
	 
	
	public void atualizarFuncionario(Funcionario Fu) {
		Session sessao = HibernateUtil.getSessionFactory().openSession();
		sessao.beginTransaction();
		sessao.update(Fu);
		sessao.getTransaction().commit();
	}
	 
	
	public List<Funcionario> listarFuncionario() {
		Session sessao = HibernateUtil.getSessionFactory().openSession();
		sessao.beginTransaction();
		Query consulta = sessao.createQuery("from Funcionario");
		return consulta.list();
	}
	 
	
	public Funcionario procurarFuncionarioCpf( String cpf) {
		Session sessao = HibernateUtil.getSessionFactory().openSession();
		sessao.beginTransaction();
		Query consulta = sessao.createQuery("from Funcionario where cpf like ?");
		consulta.setParameter(0, cpf);
		Funcionario Fu = (Funcionario) consulta.uniqueResult();
		sessao.getTransaction().commit();
		return Fu;
	}

}
